package yl.hs.bmipfull.daos.system;

import org.apache.ibatis.annotations.MapKey;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

/**
 * @author 谢景广
 * @category 实体类服务
 */
@Repository
public interface IPojoSvcDao {
    /**
     * 获取表中最大的编号
     *
     * @param table  数据表名称
     * @param snName 编号字段名称
     * @return 表中的最大编号
     */
    String queryMaxSN(@Param("tableName") String table, @Param("fieldName") String snName, @Param("dayCode") String dayCode);

    /**
     * 获取指定数据表中的数据集合
     *
     * @param tableName 表明
     * @param fieldName 编号字段名
     * @param snList    编号集合
     * @return 数据列表
     */
    @MapKey("sn")
    List<Map<String, Object>> queryTableData(String tableName, String fieldName, List<String> snList);

    Integer updateBySn(@Param("tableName") String table, @Param("state") short state, @Param("sn") String sn,@Param("stateField")String stateField,@Param("snField")String snField);

    List<String> tableFieldValueGroupField(@Param("table") String table,@Param("field") String field);


    Map<String,Object> getObjectByTableAndSN(@Param("table") String table,@Param("sn") String sn,@Param("field")String field);
}
